iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0
Security

資安新手的試煉之路系列 第 21 篇

資安新手的試煉之路 Day 21

  • 分享至 

  • xImage
  •  

今天來介紹SSRF

什麼是 SSRF?

SSRF(Server-Side Request Forgery,伺服器端請求偽造)是一種安全漏洞,攻擊者利用應用程序發送的伺服器端 HTTP 請求來進行惡意操作。在這類攻擊中,攻擊者可以控制或篡改伺服器發出的請求,從而達到以下目的:

  • 訪問原本只能在伺服器內部或受信網段內存取的資源
  • 與內部系統(如數據庫、管理界面等)進行通信
  • 發起外部攻擊或進行間諜活動

SSRF 漏洞最常見於那些允許用戶指定資源 URL 或向外部資源發出請求的應用,例如文件上傳或下載功能、PDF 生成、圖片抓取等。


SSRF 攻擊的工作原理

  1. 應用程式發送伺服器端請求:
    當應用程式允許用戶指定 URL(例如從 URL 中加載圖片),伺服器會根據該 URL 發出請求,取得內容並返回給用戶。

  2. 攻擊者控制 URL:
    攻擊者通過篡改這個 URL,使伺服器向內部資源發送請求,這些資源通常只有伺服器內部或受信網絡可以訪問。

  3. 攻擊成果:
    攻擊者可能使用 SSRF 來訪問內部網絡中的管理系統、數據庫服務、API 或是進一步攻擊其他系統。


常見的 SSRF 攻擊類型

  1. 訪問內部網絡資源:
    通過 SSRF,攻擊者可以使伺服器訪問內部網絡(如 127.0.0.1 或其他內網 IP)。這種攻擊可能允許攻擊者:

    • 獲取伺服器本地服務的數據,如 Redis、Elasticsearch 等服務的數據
    • 訪問內部的管理介面,如 Kubernetes Dashboard、AWS EC2 Metadata Service
  2. 端口掃描:
    攻擊者可以利用 SSRF 漏洞對內部網絡進行端口掃描,從而識別有哪些服務正在運行。通過發送一系列請求,攻擊者可以檢測伺服器的開放端口並推斷內部網絡結構。

  3. 訪問雲服務:
    許多雲平台(如 AWS、GCP、Azure)提供的內部 API(例如 AWS 的 EC2 Metadata Service)會返回敏感信息,如憑證、密鑰等。攻擊者可以利用 SSRF 訪問這些 API,獲取憑證來控制虛擬機器或雲端資源。

  4. 對外攻擊:
    伺服器可能被配置為受信的節點,能夠發出網絡請求。如果攻擊者能夠控制這些請求,他們可以利用伺服器發動 DDoS 攻擊、滲透攻擊或其他外部攻擊行為,並且難以追蹤到真實的攻擊者。


SSRF 攻擊的真實案例

  1. 2019年 Capital One AWS SSRF 攻擊:
    這次攻擊利用了 AWS 的 EC2 Metadata Service 和 SSRF 漏洞,攻擊者成功訪問了 AWS 的內部 API,並竊取了超過 1 億條用戶資料。攻擊者利用 SSRF 漏洞來存取 EC2 Metadata Service,進而取得 AWS S3 儲存桶的憑證,下載了存儲在 S3 上的機密數據。

  2. Uber SSRF 漏洞:
    2016 年,Uber 的一個子域名存在 SSRF 漏洞,允許攻擊者發送內部請求,進而訪問 Uber 的內部系統和私有 API。該漏洞後來被用於執行更複雜的攻擊,對 Uber 的資料系統造成威脅。


如何防範 SSRF 攻擊?

  1. 輸入驗證與過濾:

    • 嚴格檢查並過濾用戶輸入的 URL,禁止對內部 IP 範圍(如 127.0.0.1、localhost、169.254.169.254 等)發送請求。
    • 限制 URL 協議(如只允許 HTTP/HTTPS,不允許 file://、ftp://、gopher:// 等)。
  2. 使用白名單:

    • 設置 URL 白名單,僅允許對信任的域名或 IP 發出請求,防止攻擊者發送到不受控的服務。
  3. 禁用不必要的功能:

    • 禁用伺服器中不需要的服務和端口,減少攻擊面。
    • 對雲端環境中的 Metadata Service 設置 IP 防護或使用代理服務來保護該服務。
  4. 網絡隔離:

    • 使用網絡隔離策略,將應用程式與內部系統分離開來,確保攻擊者即便能控制伺服器,也無法訪問內部網絡。
  5. 防火牆與 ACL:

    • 配置防火牆規則和訪問控制列表(ACL),限制內部資源的訪問範圍,防止 SSRF 漏洞被濫用來進行端口掃描或內部攻擊。

結論

SSRF 是一種高風險的漏洞,攻擊者可以利用它來訪問內部網絡資源、進行外部攻擊甚至竊取敏感信息。防範 SSRF 攻擊的關鍵在於輸入過濾、使用白名單、網絡隔離和限制不必要的功能。隨著應用程式愈發依賴第三方 API 和內部網絡,企業需要特別關注 SSRF 漏洞並採取適當的防護措施。


上一篇
資安新手的試煉之路 Day 20
下一篇
資安新手的試煉之路Day 22
系列文
資安新手的試煉之路 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言